// export const formatTime = date => {
//   const year = date.getFullYear()
//   const month = date.getMonth() + 1
//   const day = date.getDate()
//   const hour = date.getHours()
//   const minute = date.getMinutes()
//   const second = date.getSeconds()

//   return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
// }

// const formatNumber = n => {
//   n = n.toString()
//   return n[1] ? n : `0${n}`
// }

export function timeFix () {
  const time = new Date()
  const hour = time.getHours()
  return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好'
}

// 验证纯数字或者纯字母
export function isNumberOr_Letter(str){
  var reN = '^[0-9]*$'
  var reS = '^[A-Za-z]+$'
  var ren = new RegExp(reN)
  var res = new RegExp(reS)
  if (ren.test(str) || res.test(str)) { 
    return true;
  }else{ 
    return false; 
  }
}

// 修改http:为https:
export function toHttps(val){
  if(val){
    if(val.substring(0,5) == 'http:'){
      return `https:${val.substring(5,val.length)}`
    }else{
      return val
    }
  }else{
    return val
  }
}

// 节流函数
export function throttle(func, wait, ...args){
  var pre = 0;
  console.log(pre,'pre')
  return function(){
      const context = this;
      var now = Date.now();
      if (now - pre >= wait){
          func.apply(context, args);
          pre = Date.now();
      }
  }
}

// 防抖函数
export function debounceNow(func,wait,...args){
  var timeout;     //延时器变量
  return function(){
    const context = this;
    if (timeout) clearTimeout(timeout);
    var callNow = !timeout;    //是否立即执行
    timeout = setTimeout(() => {
      timeout = null;
    },wait)
    if(callNow) func.apply(context,args)
  }
}

// 防抖不立即执行函数
export function debounce(func,wait,...args) {
  var timeout;    //延时器变量
  return function () {
    const context = this; 
    var args1 = arguments  //改变this指向
    if (timeout) clearTimeout(timeout);   //先判断有没有延时器，有则清空，毕竟要最后一次执行
    timeout = setTimeout(() => {      
      func.apply(context, args1)     //apply调用传入方法
    }, wait);
  }
}

/**
  * 时间戳转化为年 月 日 时 分 秒
  * @params number 传入时间戳
  * @params format：返回格式，支持自定义，但参数必须与formateArr里保持一致
  * formatTime(sjc,'Y/M/D h:m:s')
*/
export function formatTime(_Date, format = "Y/M/D") {
      if (!_Date) {
        return "";
      }
      var date = new Date(_Date);
      return commonDate(date,format)
    }

const commonDate = (date, format = "Y/M/D") => {
  var formateArr = ["Y", "M", "D", "h", "m", "s"];
  var returnArr = [];
  returnArr.push(date.getFullYear());
  returnArr.push(formatNumber(date.getMonth() + 1));
  returnArr.push(formatNumber(date.getDate()));
  returnArr.push(formatNumber(date.getHours()));
  returnArr.push(formatNumber(date.getMinutes()));
  returnArr.push(formatNumber(date.getSeconds()));
  let timeStr = format;
  for (var i in formateArr) {
    timeStr = timeStr.replace(formateArr[i], returnArr[i]);
  }
  return timeStr;
}

const formatNumber = (n) => {
  const s = n.toString()
  return s[1] ? s : '0' + s
}
export const  formatDate = (date, format = "Y/M/D") => {
  return commonDate(date,format)
}
      // 【JS】js将 /Date(1669257627432+0800)/ 转换为YYYY-MM-DD格式
export function formatDateStamp(time, format) {
  if (!time) {
    return ''
  }
  var t = time.slice(6, 19)
  var NewDtime = new Date(parseInt(t));
  return formatDate(NewDtime, format );
}

export function checkFile(fileValue) {
  var index = fileValue.lastIndexOf("."); //（考虑严谨用lastIndexOf(".")得到）得到"."在第几位
  var fileValueSuffix = fileValue.substring(index); //截断"."之前的，得到后缀
      if (/(.*)\.(mp4|avi|wmv|MP4|AVI|WMV)$/.test(fileValueSuffix)) { //根据后缀，判断是否符合视频格式
          return 'video';
      }else  if(/(.*)\.(jpg|JPG|bmp|BMP|mpg|MPG|mpeg|MPEG|tis|webp|TIS)$/.test(fileValueSuffix)) { //根据后缀，判断是否符合图片格式
          return 'image';
      }else if (/(.*)\.(xls|XLS|xlsx|XLSX|doc|DOC|docx|DOCX|pdf|PDF|PPT|PPTX|ppt|pptx)$/.test(fileValueSuffix)) { //根据后缀，判断是否符合OFFICE格式
          return 'office';
      }
  return false;
}

// 获取参数
export function getHashParam(query,name){
  const vars = query.split('&');
  for (let i = 0; i < vars.length; i++) {
    const pair = vars[i].split('=');
    if (pair[0] == name) { return pair[1]; }
  }
  return null;
}

// 日期加零
export function addZero(value){
  if(value < 10){
    return `0${value}`;
  }else{
    return value;
  }
}

// 根据日期获取星期
export function getDateWeek(date){
  if(date){
    var dat = new Date(date);
    var week = dat.getDay();
    var weekList = ['日','一','二','三','四','五','六']
    return weekList[week];
  }else{
    return '';
  }
}